
{\magtwo Table of Contents}
\medskip
\halign {
#\       &#\dotfill&\hfil#\cr
{\bf 0} &{\bf Introduction}                               &1\cr
\cr
{\bf 1} &{\bf Basics}                                     &3\cr
\cr
1.1    &A First Example                                   &3\cr
1.2    &Specifications                                    &3\cr
1.3    &Implementation Parameters                         &6\cr
1.4    &Arguments                                         &7\cr
1.5    &Overloading                                       &8\cr
1.6    &Linear Orders                                     &8\cr
1.7    &Items                                             &11\cr
1.8    &Iteration                                         &12\cr
1.9    &Header Files                                      &13\cr
1.10   &Libraries                                         &13\cr
\cr
\cr
{\bf 2} &{\bf Simple Data Types}                          &15\cr
\cr
2.1    &Boolean ($bool$)                                  &15\cr
2.2    &Strings ($string$)                                &16\cr
2.3    &Real-valued vectors  ($vector$)                   &18\cr
2.4    &Real-valued matrices ($matrix$)                   &19\cr
\cr
\cr
{\bf 3} &{\bf Basic Data Types}                           &21\cr
\cr
3.1    &One Dimensional Arrays ($array$)                  &21\cr
3.2    &Two Dimensional Arrays ($array2$)                 &23\cr
3.3    &Stacks         ($stack$)                          &24\cr
3.4    &Queues         ($queue$)                          &25\cr
3.5    &Bounded Stacks ($b\_stack$)                       &26\cr
3.6    &Bounded Queues ($b\_queue$)                       &27\cr
3.7    &Lists          ($list$)                           &28\cr
3.8    &Sets           ($set$)                            &33\cr
3.9    &Integer Sets   ($int\_set$)                       &34\cr
3.10   &Partitions     ($partition$)                      &35\cr
3.11   &Dynamic collections of trees ($tree\_collection$) &36\cr
\cr
\cr
{\bf 4} &{\bf Priority Queues and Dictionaries }          &39\cr
\cr
4.1      &Priority Queues   ($priority\_queue$)           &39\cr
4.2      &Bounded Priority Queues ($b\_priority\_queue$)  &41\cr
4.3      &Dictionaries      ($dictionary$)                &42\cr
4.4      &Dictionary Arrays ($d\_array$)                  &44\cr
4.5      &Hashing Arrays    ($h\_array$)                  &46\cr
4.6      &Sorted Sequences  ($sortseq$)                   &47\cr
4.7      &Persistent Dictionaries ($p\_dictionary$)       &50\cr
\cr
\cr
{\bf 5} &{\bf Graphs and Related Data Types}              &53\cr
\cr
5.1    &Graphs ($graph$)                                  &53\cr
5.2    &Undirected Graphs ($ugraph$)                      &57\cr
5.3    &Planar Maps ($planar\_map$)                       &59\cr
5.4    &Parameterized Graphs ($GRAPH$)                    &61\cr
5.5    &Parameterized Undirected Graphs ($UGRAPH$)        &63\cr
5.6    &Parameterized Planar Maps ($PLANAR\_MAP$)         &64\cr
5.7    &Node and Edge Arrays ($node\_array, edge\_array$) \hbox to 5 truecm{\dotfill}&65\cr
5.8    &Two Dimensional Node Arrays ($node\_matrix$)      &67\cr
5.9    &Node and Edge Sets  ($node\_set, edge\_set$)      &68\cr
5.10   &Node Partitions ($node\_partition$)               &69\cr
5.11   &Node Priority Queues ($node\_pq$)                 &70\cr
5.12   &Graph Algorithms                                  &71\cr
5.13   &Miscellaneous                                     &77\cr
\cr
\cr
\cr
{\bf 6} &{\bf Two-Dimensional Geometry}                   &79\cr
\cr
6.1   &Basic two-dimensional objects                      &79\cr
6.2   &Two-Dimensional Dictionaries ($d2\_dictionary$)    &88\cr
6.3   &Sets of Points ($point\_set$)                      &90\cr
6.4   &Sets of Intervals ($interval\_set$)                &92\cr
6.5   &Sets of Parallel Segments ($segment\_set$)         &94\cr
6.6   &Planar Subdivision ($subdivision$)                 &96\cr
6.7   &Graphic Windows ($window$)                         &97\cr
6.7   &Panels ($panel$)                                   &106\cr
\cr
\cr
\cr
{\bf 7} &{\bf Miscellaneous}                              &109\cr
\cr
7.1   &Streams                                            &109\cr
7.2   &Useful Functions                                   &112\cr
7.3   &Memory Management                                  &113\cr
7.4   &Error Handling                                     &113\cr
\cr
\cr
{\bf 8} &{\bf Programs}                                   &115\cr
\cr
8.1   & Graph and Network Algorithms                      &115\cr
8.2   & Computational Geometry                            &124\cr
\cr
\cr
{\bf 9} &{\bf Implementations}                            &127\cr
\cr
9.1   &List of Data Structures                            &127\cr
9.2   &User Implementations                               &128\cr
\cr
\cr
{\bf 10} &{\bf Tables}                                    &133\cr
\cr
10.1  &Data Types                                         &133\cr
10.2  &Algorithms                                         &135\cr
\cr
\cr
{\bf 11} &{\bf References}                                &137\cr
}

\vfill

{\magtwo  Acknowledgement}

The author would like to thank Kurt Mehlhorn for many helpful suggestions and 
valuable comments.

\vglue 1cm
\eject

\vglue 10cm
\vfill\eject
